<TagAttribute("shader_transparent_chicago","schi","shdr","????",1,108)>
Public Class SHADER_TRANSPARENT_CHICAGO_TAG
Inherits HaloTag
Public Const Extension as String = "shader_transparent_chicago"
Public Const FourCC as String = "schi"
Public Const ParentFourCC as String = "shdr"
Public Const GrandParentFourCC as String = "????"
Public Const [Version] as Short = 1
Public Const HeaderLength as Integer = 108

''' <summary>
''' 
''' </summary>
#Region "radiosity properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags as Short

''' <summary>
''' affects the density of tesselation (high means slow).
''' </summary>
<TagField("detail level", 1, 17)>
Public detail_level as Short

''' <summary>
''' power of emitted light from 0 to infinity
''' </summary>
<TagField("power", 1, 0)>
Public power as Single

''' <summary>
''' 
''' </summary>
<TagField("color of emitted light", 3, 2)>
Public color_of_emitted_light as Single()

''' <summary>
''' light passing through this surface (if it's transparent) will be tinted this color.
''' </summary>
<TagField("tint color", 3, 2)>
Public tint_color as Single()

''' <summary>
''' 
''' </summary>
#End Region
#Region "physics properties"

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags_1 as Short

''' <summary>
''' 
''' </summary>
<TagField("material type", 1, 17)>
Public material_type as Short

''' <summary>
''' 
''' </summary>
<TagField("shader type index", 2, -1)>
Public shader_type_index as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
#End Region
#Region "chicago shader"

''' <summary>
''' 
''' </summary>
<TagField("numeric counter limit:[0,255]", 1, 9)>
Public numeric_counter_limit as Byte

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 18)>
Public flags_2 as Byte

''' <summary>
''' 
''' </summary>
<TagField("first map type", 1, 17)>
Public first_map_type as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer blend function", 1, 17)>
Public framebuffer_blend_function as Short

''' <summary>
''' 
''' </summary>
<TagField("framebuffer fade mode", 1, 17)>
Public framebuffer_fade_mode as Short

''' <summary>
''' fade is multiplied by this external value
''' </summary>
<TagField("framebuffer fade source", 1, 17)>
Public framebuffer_fade_source as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding_1 as Byte()

''' <summary>
''' 
''' </summary>
#End Region
#Region "lens flares"

''' <summary>
''' 0 places a single lens flare
''' </summary>
<TagField("lens flare spacing:world units", 1, 0)>
Public lens_flare_spacing as Single

''' <summary>
''' 
''' </summary>
<TagField("lens flare", 16, 10)>
Public lens_flare as New TAG_REFERENCE

''' <summary>
''' shader_transparent_layer_block
''' </summary>
<TagField("extra layers", 16, 11)>
Public extra_layers as List(Of EXTRA_LAYERS_BLOCK)

''' <summary>
''' shader_transparent_chicago_map_block
''' </summary>
<TagField("maps", 220, 11)>
Public maps as List(Of MAPS_BLOCK)

''' <summary>
''' 
''' </summary>
<TagField("extra flags", 1, 20)>
Public extra_flags as Integer

''' <summary>
''' 
''' </summary>
<TagField("", 8, -1)>
Public padding_2 as Byte()
#End Region
Public Class EXTRA_LAYERS_BLOCK

''' <summary>
''' 
''' </summary>
<TagField("shader", 16, 10)>
Public shader as New TAG_REFERENCE

End Class
Public Class MAPS_BLOCK

''' <summary>
''' 
''' </summary>
<TagField("flags", 1, 19)>
Public flags as Short

''' <summary>
''' 
''' </summary>
<TagField("", 2, -1)>
Public padding as Byte()

''' <summary>
''' 
''' </summary>
<TagField("", 40, -1)>
Public padding_1 as Byte()

''' <summary>
''' ignored for last map
''' </summary>
<TagField("color function", 1, 17)>
Public color_function as Short

''' <summary>
''' ignored for last map
''' </summary>
<TagField("alpha function", 1, 17)>
Public alpha_function as Short

''' <summary>
''' 
''' </summary>
<TagField("", 36, -1)>
Public padding_2 as Byte()

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("map u-scale", 1, 0)>
Public map_u as Single

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("map v-scale", 1, 0)>
Public map_v as Single

''' <summary>
''' 
''' </summary>
<TagField("map u-offset", 1, 0)>
Public map_u_1 as Single

''' <summary>
''' 
''' </summary>
<TagField("map v-offset", 1, 0)>
Public map_v_1 as Single

''' <summary>
''' 
''' </summary>
<TagField("map rotation:degrees", 1, 0)>
Public map_rotation as Single

''' <summary>
''' 
''' </summary>
<TagField("mipmap bias:[0,1]", 1, 0)>
Public mipmap_bias as Single

''' <summary>
''' 
''' </summary>
<TagField("map^", 16, 10)>
Public map as New TAG_REFERENCE

''' <summary>
''' 
''' </summary>
<TagField("", 40, -1)>
Public padding_3 as Byte()

''' <summary>
''' 
''' </summary>
#Region "2D texture animation"

''' <summary>
''' 
''' </summary>
<TagField("u-animation source", 1, 17)>
Public u as Short

''' <summary>
''' 
''' </summary>
<TagField("u-animation function", 1, 17)>
Public u_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("u-animation period:seconds", 1, 0)>
Public u_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("u-animation phase", 1, 0)>
Public u_3 as Single

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("u-animation scale:repeats", 1, 0)>
Public u_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation source", 1, 17)>
Public v as Short

''' <summary>
''' 
''' </summary>
<TagField("v-animation function", 1, 17)>
Public v_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("v-animation period:seconds", 1, 0)>
Public v_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("v-animation phase", 1, 0)>
Public v_3 as Single

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("v-animation scale:repeats", 1, 0)>
Public v_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation source", 1, 17)>
Public rotation as Short

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation function", 1, 17)>
Public rotation_1 as Short

''' <summary>
''' 0 defaults to 1
''' </summary>
<TagField("rotation-animation period:seconds", 1, 0)>
Public rotation_2 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation phase", 1, 0)>
Public rotation_3 as Single

''' <summary>
''' 0 defaults to 360
''' </summary>
<TagField("rotation-animation scale:degrees", 1, 0)>
Public rotation_4 as Single

''' <summary>
''' 
''' </summary>
<TagField("rotation-animation center", 2, 1)>
Public rotation_5 as Single()
#End Region

End Class

End Class
